mod vec;

use serde_json::{Map, Number};
use ulid::Ulid;

pub enum Value {
    Null,
    Bool(Ulid, bool),
    Number(Ulid, Number),
    String(Ulid, String),
    Array(Ulid, Vec<Value>),
    Object(Ulid, Map<String, Value>),
}

pub fn add(left: u64, right: u64) -> u64 {
    left + right
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn it_works() {
        let a: String = "hello".into();
        let mut b: String = a.clone();
        b.push_str("world");
        assert_eq!(a, b);
    }
}
